Extract-transform-load
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
top
Extract-transform-load (extraction, transformation et chargement) est une technologie informatique intergicielle permettant d'effectuer des synchronisations massives d'information d'une source de données (le plus souvent une base de données) vers une autre. Cette technologie est connue sous le sigle ETL, ou extracto-chargeur. Selon le contexte, il s'agit d'exploiter différentes fonctions, souvent combinées entre elles : « extraction », « transformation », « constitution » ou « conversion », « alimentation » ou « chargement ».
Contents
âą Extraction
âą Transformation
âą Chargement
âą Pilotage
âą Avantages
⹠Inconvénients
⹠Définition EAI
âą ETL virtuel
âą Voir aussi
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Organisation et Historique
Cette technologie repose sur :
âą des transformateurs qui manipulent les donnĂ©es (agrĂ©gations, filtres, conversionsâŠ) ;
⹠et des mises en correspondance (mappages). L'objectif est l'intégration ou la réexploitation de données d'un réservoir source dans un réservoir cible.
à l'origine, les solutions d'ETL sont apparues pour le chargement régulier de données agrégées dans les entrepÎts de données, avant de se diversifier vers les autres domaines logiciels. Ces solutions sont largement utilisées dans le monde bancaire et financier, ainsi que dans l'industrie, au vu de la multiplication des nombreuses interfaces.
Des technologies complémentaires sont apparues par la suite : l'intégration d'applications d'entreprise, puis l'ESB (enterprise service bus).
Il existe également des solutions d'ETL de contenu permettant de manipuler des données non structurées ou faiblement structurées, tels que les dossiers ou les documents. Ces solutions sont utilisées pour des projets de migration de documents. Par exemple, lors de migration de documents d'une application GED vers une autre. Leur champ d'application peut également s'étendre à des projets d'archivage électronique.
Ces outils d'ETL sont également exploitables pour la manipulation de données non ou faiblement structurées dans le cadre de la fouille de textes.
Enfin, un extract load transform (ELT) est un ETL particulier qui n'utilise pas de moteur pour effectuer la transformation des données, mais d'autres systÚmes capables de faire de la transformation (e.g. bases de données sources ou cibles). C'est le cas d'outils comme Fivetran ou Streams by Datanexions.
Fonctionnement du processus ETL
Extraction
L'objectif d'ETL est de produire des donnĂ©es propres, faciles d'accĂšs et qui peuvent ĂȘtre exploitĂ©es efficacement par l'analytique, l'informatique dĂ©cisionnelle et/ou les opĂ©rations commercialescite-ref-talend-1-0[1]. Les donnĂ©es brutes peuvent ĂȘtre extraites de diffĂ©rentes sources, en particulier :
⹠bases de données existantes ;
⹠logs d'activité (trafic réseau, rapports d'erreurs, etc.) ;
âą comportement, performances et anomalies des applications ;
⹠événements de sécurité ;
âą autres opĂ©rations qui doivent ĂȘtre dĂ©crites aux fins de conformitĂ©.
Les données extraites sont parfois stockées dans un emplacement tel qu'un data lake ou un data warehouse.
Transformation
L'étape de transformation du processus ETL est celle des opérations les plus essentielles[pas clair]. L'opération la plus importante de l'étape de transformation consiste à appliquer aux données brutes les rÚgles internes de l'entreprise de maniÚre à répondre aux exigences en matiÚre de reporting : les données brutes sont nettoyées et converties aux formats de rapport qui conviennent (si les données ne sont pas nettoyées, il devient plus difficile d'appliquer les rÚgles internes de reporting).
La transformation applique les rÚgles définies en interne. Les normes qui garantissent la qualité des données et leur accessibilité doivent tenir compte des pratiques suivantes :
⹠Standardisation : Définir les données à traiter, leur format et leur mode de stockage ainsi que d'autres considérations de base qui définiront les étapes qui suivent.
⹠Déduplication : Transmettre un rapport sur les doublons aux personnes chargées de la gouvernance des données ; exclure et/ou supprimer les données redondantes
⹠Vérification : Effectuer des vérifications automatisées pour comparer des données similaires telles que durée de transaction ou suivi des accÚs. Les tùches de vérification permettent d'éliminer les données inutilisables et de signaler les anomalies des systÚmes, des applications ou des données.
⹠Tri : Maximiser l'efficacité des data Warehouse en regroupant et stockant les objets par catégorie (données brutes, données audio, mails, etc.). Vos rÚgles de transformation ETL conditionnent la catégorisation de chaque objet et sa prochaine destination. Le processus ETL est parfois utilisé pour générer des tables d'agrégation qui sont ensuite proposées dans des rapports de base ; dans ce cas, vous devez trier puis agréger les données.
⹠Autres tùches : Tùches dont vous avez besoin et que vous définissez et paramétrez de telle sorte qu'elles s'exécutent en mode automatique
Chargement
La derniÚre étape du processus ETL standard consiste à charger les données extraites et transformées dans leur nouvel emplacement. En général, les entrepÎts de données supportent deux modes pour le chargement des données : chargement complet (on recharge l'integralité des données) et chargement incrémental (seules les derniÚres données sont chargées).
Pilotage
Le traitement ETL (cycle ponctuel ou programme de cycles) peut ĂȘtre lancĂ© en ligne de commande ou via une interface graphique. Mais il y a certains points Ă surveiller. La gestion des exceptions, par exemple, peut ĂȘtre un processus trĂšs lourd. Dans bien des cas, la gĂ©nĂ©ration des extraits de donnĂ©es peut Ă©chouer si un ou plusieurs systĂšmes sont en panne. Si un systĂšme contient des donnĂ©es incorrectes, celles-ci peuvent avoir un impact sur les donnĂ©es extraites d'un autre systĂšme ; autrement dit, la supervision et le traitement des erreurs sont des activitĂ©s essentielles.
Les principaux usages de l'ETL
Dans la plupart des activitĂ©s de l'entreprise, les donnĂ©es jouent un rĂŽle essentiel : pour rĂ©aliser leur potentiel de valeur, elles doivent ĂȘtre dĂ©placĂ©es et prĂ©parĂ©es pour exploitation, et ces opĂ©rations exigent les processus ETL. Exemples de cas d'usage pour les outils ETLcite-ref-talend-1-1[1] :
⹠Migrer des données d'une application à une autre.
⹠Répliquer des données pour la sauvegarde ou l'analyse des redondances.
⹠Processus opérationnels tels que la migration des données d'un systÚme CRM vers un gisement opérationnel ODS (Operational Data Store) afin d'améliorer ou d'enrichir les données, puis de les replacer dans le CRM.
⹠Stocker les données dans un data Warehouse avant de les importer, les trier et les transformer dans un environnement d'informatique décisionnelle.
âą Migrer des applications on-premises vers des infrastructures cloud, cloud hybride ou multi-cloud.
âą Synchronisation des systĂšmes critiques.
Performances et limites
Avantages
âą OptimisĂ© pour la structure de lâentrepĂŽt de donnĂ©es
âą Peut traiter de grandes quantitĂ©s de donnĂ©es dans une mĂȘme exĂ©cution (traitement en lot)
⹠Permet des transformations complexes et agrégations sur les données
âą La cĂ©dule dâexĂ©cution peut ĂȘtre contrĂŽlĂ©e par lâadministrateur
âą La disponibilitĂ© dâoutils GUI sur le marchĂ© permet dâamĂ©liorer la productivitĂ©
⹠Permet la réutilisation des processus et transformations (ex : packages dans SSIS)
Inconvénients
⹠Processus de développement long et coûteux
⹠Gestion des changements nécessaire
âą Exige de lâespace disque pour effectuer les transformations (staging area)
⹠Exécuté indépendamment du besoin réel
âą Latence des donnĂ©es entre la source et lâentrepĂŽt
âą Unidirectionnel (des sources vers lâentrepĂŽt de donnĂ©es)
La diffĂ©rence entre lâETL et EAI
Définition EAI
LâEAI, ou Enterprise Application Integration (en français, lâintĂ©gration des applications dâentreprise), dĂ©signe un processus en cours depuis de nombreuses annĂ©es, lâintĂ©gration dâapplications variĂ©es aïŹn quâelles puissent partager librement lâinformation et les traitementscite-ref-3[3]. LâEAI est sous le feu des projecteurs des fournisseurs de logiciels et des analystes et permet enïŹn de rĂ©gler un problĂšme qui coĂ»te aux trĂšs grandes entreprises 100 milliards de dollars par an[rĂ©f. nĂ©cessaire].
Enterprise Application Integration (EAI) pour le terme consacré en anglais, est aussi appelé Echanges Inter-applicatifs de Données en français. Ce terme désigne une architecture SI qui permet à plusieurs logiciels de communiquer entre eux et de gérer les différents échanges. On parle aussi de gestion des flux inter-applicatifs. Par raccourci, les outils logiciels utilisés pour réaliser ces architectures EAI sont eux aussi appelés « logiciels EAI ».
Un logiciel EAI permet de se connecter Ă tout type de sources de donnĂ©es, dâen extraire des donnĂ©es, de manipuler ces donnĂ©es, de structurer ces donnĂ©es puis de les dĂ©poser dans toutes autres structures de donnĂ©es. LâexĂ©cution de ces manipulations et la synchronisation de donnĂ©es est programmable et dĂ©clenchĂ©e par tout type dâĂ©vĂšnementscite-ref-4[4].
Comparaison ETL / EAI
LâETL est une technique dâintĂ©gration de donnĂ©es comme lâEAI. Les produits dâEAI sont orientĂ©s Ă©vĂ©nements et supportent des traitements de type transactionnel, que lâETL ne supporte pas. En revanche, lâETL permet des transformations beaucoup plus complexes. Certains Ă©diteurs de produits dâEAI et dâETL deviennent partenaires, et on se dirige vers des solutions oĂč lâEAI capture les donnĂ©es et les Ă©vĂ©nements des applications en temps rĂ©el et les passe Ă lâoutil ETL qui transforme les donnĂ©es et les charge dans lâenvironnement d'informatique dĂ©cisionnelle.
| Comparaison générale ETL/EAI | ETL |
|---|---|
| Mode principal | Lot |
| Orientation | Données |
| Volumétrie | potentiellement forte (ex 15 000 000 de⊠|
| Sources / Cibles | â SGBD , â ODS , â entrepĂŽts de donnĂ©es⊠|
| Comparaison générale ETL/EAI | EAI |
|---|---|
| Mode principal | Flux (pseudo temps-réel) |
| Orientation | Métier |
| Volumétrie | relativement faible (ex. 100 000 lignes) |
| Sources / Cibles | âinter-application au sens large |
ETL virtuel
En 2010, la virtualisation de donnĂ©es a commencĂ© Ă avancer le traitement ETL. L'application de la virtualisation de donnĂ©es ETL a permis de rĂ©soudre les tĂąches les plus courantes ETL de migration des donnĂ©es et lâintĂ©gration des applications pour de multiples sources de donnĂ©es dispersĂ©es. Virtual ETL fonctionne avec la reprĂ©sentation abstraite des objets ou des entitĂ©s recueillies Ă partir de la variĂ©tĂ© des relationnelles, semi-structurĂ©s et des sources de donnĂ©es non structurĂ©es. Outils ETL peuvent tirer parti de la modĂ©lisation orientĂ©e objet et travailler avec les reprĂ©sentations des entitĂ©s constamment stockĂ©es dans un emplacement central hub-and-spoke architecture. Une telle collection qui contient des reprĂ©sentations des entitĂ©s ou des objets recueillis Ă partir des sources de donnĂ©es pour le traitement ETL est appelĂ© un rĂ©fĂ©rentiel de mĂ©tadonnĂ©es et il peut rĂ©sider dans la mĂ©moire ou ĂȘtre fait persistante. En utilisant un rĂ©fĂ©rentiel de mĂ©tadonnĂ©es persistantes, les outils ETL peuvent passer des projets ponctuels Ă middleware persistant, dâeffectuer lâharmonisation et des donnĂ©es de profilage des donnĂ©es de maniĂšre cohĂ©rente et en temps quasi-rĂ©el.
Voir aussi
Notes et références
cite-note-talend-11. « ETL (Extract, Transform, Load) â PrĂ©sentation gĂ©nĂ©rale », sur Talend Real-Time Open Source Data Integration Software (consultĂ© le 19 fĂ©vrier 2020)
cite-note-22. â https://cours.etsmtl.ca/mti820/public_docs/acetates/MTI820-Acetates-ETL_1pp.pdf
cite-note-33. â « Documentation scientifique et technique, conseil et formation | Techniques de lâIngĂ©nieur », sur www.techniques-ingenieur.fr (consultĂ© le 19 fĂ©vrier 2020)
cite-note-44. â 2019« Qu'est-ce qu'un EAI - Enterprise Application Integration | Tenor EDI », sur Tenor EDI Services, votre prestataire de solutions EDI, EAI et DĂ©matĂ©rialisation, 11 mars 2019 (consultĂ© le 18 mai 2021)
cite-note-51. « Les Ă©tapes de rĂ©alisation dâun projet », dans L'apprentissage par projet, Presses de l'UniversitĂ© du QuĂ©bec (ISBN 978-2-7605-1795-0, lire en ligne), p. 91â150
âą Portail de lâinformatique
⹠Portail des données